package com.mapper.staticanaly;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.po.InformationInfo;
import com.po.NumberInfo;
import com.po.UserDownloadInfo;

public interface StatisticsMapper {
    // 根据浏览量检索知识
    public List<InformationInfo> getInformationListByBrowser(@Param("page") int offset, @Param("rows") int limit,
	    @Param("ku") String ku, @Param("count") int count, @Param("starttime") String starttime,
	    @Param("endtime") String endtime);

    public int getInformationCountByBrowser(@Param("page") int offset, @Param("rows") int limit, @Param("ku") String ku,
	    @Param("count") int count, @Param("starttime") String starttime, @Param("endtime") String endtime);

    // 根据下载量检索知识
    public List<InformationInfo> getInformationListByDownload(@Param("page") int offset, @Param("rows") int limit,
	    @Param("ku") String ku, @Param("count") int count, @Param("starttime") String starttime,
	    @Param("endtime") String endtime);

    public int getInformationCountByDownload(@Param("page") int offset, @Param("rows") int limit,
	    @Param("ku") String ku, @Param("count") int count, @Param("starttime") String starttime,
	    @Param("endtime") String endtime);

    // 统计用户下载量
    public List<UserDownloadInfo> getUserDownloadList(@Param("page") int offset, @Param("rows") int limit,
	    @Param("ku") String ku, @Param("count") int count, @Param("starttime") String starttime,
	    @Param("endtime") String endtime);

    public int getUserDownloadCount(@Param("page") int offset, @Param("rows") int limit, @Param("ku") String ku,
	    @Param("count") int count, @Param("starttime") String starttime, @Param("endtime") String endtime);

    // 统计用户数量
    public List<NumberInfo> getUserNumberList(@Param("page") int offset, @Param("rows") int limit,
	    @Param("type") String type, @Param("starttime") String starttime, @Param("endtime") String endtime);

    public int getUserNumberCount(@Param("page") int offset, @Param("rows") int limit, @Param("type") String type,
	    @Param("starttime") String starttime, @Param("endtime") String endtime);

    // 根据浏览量检索知识
    public List<NumberInfo> getInfoNumberList(@Param("page") int offset, @Param("rows") int limit,
	    @Param("ku") String ku, @Param("starttime") String starttime, @Param("endtime") String endtime,
	    @Param("type") String type);

    public int getInfoNumberCount(@Param("page") int offset, @Param("rows") int limit, @Param("ku") String ku,
	    @Param("starttime") String starttime, @Param("endtime") String endtime, @Param("type") String type);

    // 根据访问量检索
    public List<NumberInfo> getAccessNumberList(@Param("page") int offset, @Param("rows") int limit,
	    @Param("way") String way, @Param("starttime") String starttime, @Param("endtime") String endtime);

    public int getAccessNumberCount(@Param("page") int offset, @Param("rows") int limit, @Param("way") String way,
	    @Param("starttime") String starttime, @Param("endtime") String endtime);

    // 查询某个人上传的知识数量
    public List<InformationInfo> getInformationListByUpload(@Param("page") int offset, @Param("rows") int limit,
	    @Param("ku") String ku, @Param("userid") String userid,@Param("way") String way, @Param("starttime") String starttime,@Param("endtime") String endtime);

    public int getInformationCountByUpload(@Param("page") int offset, @Param("rows") int limit, @Param("ku") String ku,
	    @Param("userid") String userid,@Param("way") String way, @Param("starttime") String starttime, @Param("endtime") String endtime);

}
